package com.erp.gather.service;

import com.ruoyi.gather.api.domain.dto.ErpBrandCountDto;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.gather.api.domain.ErpCollectProductExpand;
import com.erp.gather.domain.bo.ErpCollectProductExpandBo;
import com.erp.gather.domain.vo.ErpCollectProductExpandVo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.web.oldPage.TableDataInfo;

import java.util.List;

/**
 * 采集商品拓展;参考AE-商品：发布产品信息（aliexpress.postproduct.redefining.postaeproduct）Service接口
 *
 * @author erp
 * @date 2023-03-07
 */
public interface IErpCollectProductExpandService {

    ErpCollectProductExpand selectByCollectProductId(Long collectProductId);

    Boolean updateByBo(ErpCollectProductExpandBo bo);

    TableDataInfo<ErpCollectProductExpandVo> queryPageList(ErpCollectProductExpandBo bo, PageQuery pageQuery);

    ErpCollectProductExpandVo queryById(Long id);

    Boolean insertByBo(ErpCollectProductExpandBo bo);

    Boolean deleteWithValidByIds(List<Long> ids, Boolean isValid);

    R<Object> getCollectProductExpandInfo(ErpCollectProductExpand erpCollectProductExpand);

    Boolean updateProductStatusById(Long id, Long collectProductId, Integer status);

    /**
     * @Description: 查询品牌ID和对应的商品数量
     * @Author: j.zh
     * @Date: 2024/7/4
     * @return
     * @Version: 4.2.0
    **/
    List<ErpBrandCountDto> getBrandAndProductCount();
}
